/*--------------------------------------------------*/
/*VirtualSociety System ServiceModuleTemplate Main File*/
/*CreateBy SRPLab                */
/*CreateDate: 2012-2-15  */
/*--------------------------------------------------*/
#include "SRPIrrlichtES2Engine_VSHeader.h"

/*++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*Function IrrSceneNodeClass Is Extracted From ScriptFile */
/*++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++*/
#define IRRSCENENODECLASS_OBJECT_DEPENDINDEX                                                         0x00000001
#define IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE_FUNCRETURN_DEPENDINDEX                           0X00000002
#define IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE_FUNCPARAM_DEPENDINDEX                            0X00000003
#define IRRSCENENODECLASS_GETSCENEMANAGER_FUNCRETURN_DEPENDINDEX                                     0X00000004
#define IRRSCENENODECLASS_GETSCENEMANAGER_FUNCPARAM_DEPENDINDEX                                      0X00000005
#define IRRSCENENODECLASS_LUA_GETSCENEMANAGER_FUNCRETURN_DEPENDINDEX                                 0X00000006
#define IRRSCENENODECLASS_LUA_GETSCENEMANAGER_FUNCPARAM_DEPENDINDEX                                  0X00000007
#define IRRSCENENODECLASS_SETMATERIALTEXTURE_FUNCRETURN_DEPENDINDEX                                  0X00000008
#define IRRSCENENODECLASS_SETMATERIALTEXTURE_FUNCPARAM_DEPENDINDEX                                   0X00000009
#define IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE_FUNCRETURN_DEPENDINDEX                              0X0000000A
#define IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE_FUNCPARAM_DEPENDINDEX                               0X0000000B
#define IRRSCENENODECLASS_SETMATERIALTEXTUREEX_FUNCRETURN_DEPENDINDEX                                0X0000000C
#define IRRSCENENODECLASS_SETMATERIALTEXTUREEX_FUNCPARAM_DEPENDINDEX                                 0X0000000D
#define IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX_FUNCRETURN_DEPENDINDEX                            0X0000000E
#define IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX_FUNCPARAM_DEPENDINDEX                             0X0000000F
#define IRRSCENENODECLASS_SETMATERIALFLAG_FUNCRETURN_DEPENDINDEX                                     0X00000010
#define IRRSCENENODECLASS_SETMATERIALFLAG_FUNCPARAM_DEPENDINDEX                                      0X00000011
#define IRRSCENENODECLASS_LUA_SETMATERIALFLAG_FUNCRETURN_DEPENDINDEX                                 0X00000012
#define IRRSCENENODECLASS_LUA_SETMATERIALFLAG_FUNCPARAM_DEPENDINDEX                                  0X00000013
#define IRRSCENENODECLASS_SETMATERIALTYPE_FUNCRETURN_DEPENDINDEX                                     0X00000014
#define IRRSCENENODECLASS_SETMATERIALTYPE_FUNCPARAM_DEPENDINDEX                                      0X00000015
#define IRRSCENENODECLASS_LUA_SETMATERIALTYPE_FUNCRETURN_DEPENDINDEX                                 0X00000016
#define IRRSCENENODECLASS_LUA_SETMATERIALTYPE_FUNCPARAM_DEPENDINDEX                                  0X00000017

VS_INT32 SRPCALLBACK IrrSceneNodeClass_QueryObjectInfo(VS_OBJECTMODULEINFO *VSObjectModuleInfo)
{
    VSObjectModuleInfo -> ObjectVersion = 0;
    VSObjectModuleInfo -> ObjectSubVersion = 0;
    VSObjectModuleInfo -> ObjcetBugFixVersion = 0;
    VSObjectModuleInfo -> VSVersion = 0;
    VSObjectModuleInfo -> VSSubVersion = 0;

    VSObjectModuleInfo -> CreateTime.wYear = 2012;
    VSObjectModuleInfo -> CreateTime.wMonth = 2;
    VSObjectModuleInfo -> CreateTime.wDay = 15;
    VSObjectModuleInfo -> UpdateTime.wYear = 2012;
    VSObjectModuleInfo -> UpdateTime.wMonth = 2;
    VSObjectModuleInfo -> UpdateTime.wDay = 15;

    strcpy( VSObjectModuleInfo -> AuthorityInfo, "" );
    strcpy( VSObjectModuleInfo -> LicenseInfo, "" );
    strcpy( VSObjectModuleInfo -> ExtendInfo, "" );

    return 0;
}

VS_INT32 SRPCALLBACK IrrSceneNodeClass_RequestRegisterObject()
{
    VS_DEPENDATTRIBUTE LocalDependAttribute[512];  /*---set a large number*/
    VS_INT32 DependIndexNumber,DependIndex[64];

    //------register object depend
    VSATTRDEPEND_IRRSCENENODECLASS(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_OBJECT_DEPENDINDEX,VSOBJID_IrrSceneNodeClass,VSMODULEDEPEND_OBJECT,VSATTRDEPENDNUM_IRRSCENENODECLASS,LocalDependAttribute);

    //------register function depend
    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_OVL_SetIrrParentSceneNode,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_OVL_SetIrrParentSceneNode,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_GETSCENEMANAGER(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_GETSCENEMANAGER_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_GetSceneManager,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_GETSCENEMANAGER,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_GETSCENEMANAGER(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_GETSCENEMANAGER_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_GetSceneManager,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_GETSCENEMANAGER,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_LUA_GETSCENEMANAGER(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_GETSCENEMANAGER_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_GetSceneManager,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_LUA_GETSCENEMANAGER,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_LUA_GETSCENEMANAGER(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_GETSCENEMANAGER_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_GetSceneManager,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_LUA_GETSCENEMANAGER,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_SETMATERIALTEXTURE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALTEXTURE_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialTexture,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_SETMATERIALTEXTURE,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_SETMATERIALTEXTURE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALTEXTURE_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialTexture,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_SETMATERIALTEXTURE,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialTexture,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialTexture,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_SETMATERIALTEXTUREEX(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALTEXTUREEX_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialTextureEx,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_SETMATERIALTEXTUREEX,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_SETMATERIALTEXTUREEX(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALTEXTUREEX_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialTextureEx,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_SETMATERIALTEXTUREEX,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialTextureEx,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialTextureEx,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_SETMATERIALFLAG(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALFLAG_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialFlag,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_SETMATERIALFLAG,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_SETMATERIALFLAG(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALFLAG_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialFlag,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_SETMATERIALFLAG,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALFLAG(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALFLAG_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialFlag,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALFLAG,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALFLAG(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALFLAG_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialFlag,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALFLAG,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_SETMATERIALTYPE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALTYPE_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialType,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_SETMATERIALTYPE,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_SETMATERIALTYPE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_SETMATERIALTYPE_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_SetMaterialType,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_SETMATERIALTYPE,LocalDependAttribute);

    VSFUNCRETURNDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALTYPE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALTYPE_FUNCRETURN_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialType,VSMODULEDEPEND_FUNCRETURN,VSFUNCRETURNDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALTYPE,LocalDependAttribute);

    VSFUNCPARAMDEPEND_IRRSCENENODECLASS_LUA_SETMATERIALTYPE(LocalDependAttribute);
    pSRP -> RegisterObjectDependency( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,IRRSCENENODECLASS_LUA_SETMATERIALTYPE_FUNCPARAM_DEPENDINDEX,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialType,VSMODULEDEPEND_FUNCPARA,VSFUNCPARAMDEPENDNUM_IRRSCENENODECLASS_LUA_SETMATERIALTYPE,LocalDependAttribute);

    //------object function
    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_OVL_SETIRRPARENTSCENENODE_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_OVL_SetIrrParentSceneNode,(void *)IrrSceneNodeClass_OVL_SetIrrParentSceneNode,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_GETSCENEMANAGER_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_GETSCENEMANAGER_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_GetSceneManager,(void *)IrrSceneNodeClass_GetSceneManager,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_LUA_GETSCENEMANAGER_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_LUA_GETSCENEMANAGER_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_Lua_GetSceneManager,(void *)IrrSceneNodeClass_Lua_GetSceneManager,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_SETMATERIALTEXTURE_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_SETMATERIALTEXTURE_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_SetMaterialTexture,(void *)IrrSceneNodeClass_SetMaterialTexture,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_LUA_SETMATERIALTEXTURE_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialTexture,(void *)IrrSceneNodeClass_Lua_SetMaterialTexture,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_SETMATERIALTEXTUREEX_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_SETMATERIALTEXTUREEX_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_SetMaterialTextureEx,(void *)IrrSceneNodeClass_SetMaterialTextureEx,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_LUA_SETMATERIALTEXTUREEX_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialTextureEx,(void *)IrrSceneNodeClass_Lua_SetMaterialTextureEx,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_SETMATERIALFLAG_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_SETMATERIALFLAG_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_SetMaterialFlag,(void *)IrrSceneNodeClass_SetMaterialFlag,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_LUA_SETMATERIALFLAG_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_LUA_SETMATERIALFLAG_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialFlag,(void *)IrrSceneNodeClass_Lua_SetMaterialFlag,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_SETMATERIALTYPE_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_SETMATERIALTYPE_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_SetMaterialType,(void *)IrrSceneNodeClass_SetMaterialType,DependIndexNumber,DependIndex);

    DependIndexNumber = 3;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    DependIndex[1] = IRRSCENENODECLASS_LUA_SETMATERIALTYPE_FUNCRETURN_DEPENDINDEX;
    DependIndex[2] = IRRSCENENODECLASS_LUA_SETMATERIALTYPE_FUNCPARAM_DEPENDINDEX;
    pSRP -> RegisterObjectFunction( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,VSFUNCID_IrrSceneNodeClass_Lua_SetMaterialType,(void *)IrrSceneNodeClass_Lua_SetMaterialType,DependIndexNumber,DependIndex);

    //------object sysevent process
    DependIndexNumber = 1;
    DependIndex[0] = IRRSCENENODECLASS_OBJECT_DEPENDINDEX;
    pSRP -> RegisterObjectSysEvent( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,(void *)IrrSceneNodeClass_OnSystemEvent,DependIndexNumber,DependIndex);

    //------object message process
    pSRP -> RegisterQueryObjectInfo( VSIMPORTMODULEID_SRPIrrlichtES2EngineBasicModule,VSOBJID_IrrSceneNodeClass,(void *)IrrSceneNodeClass_QueryObjectInfo);

    return 0;
}

